package com.openstackapi.ctds;

import java.util.List;

import com.openstackapi.ctds.pojo.AclIP;
import com.openstackapi.ctds.pojo.CreatFileStorageResp;
import com.openstackapi.ctds.pojo.DeleteFileStorageResp;
import com.openstackapi.ctds.pojo.FileStorageID;
import com.openstackapi.ctds.pojo.FileStorageParamArray;
import com.openstackapi.ctds.pojo.QueryFileStorageResp;
import com.openstackapi.ctds.pojo.SetFileStorageAccessResp;
import com.openstackapi.ctds.pojo.UpdateFileSorageSizeResp;

public interface FileStorageController {
	
	
	/**
	 * 创建分布式文件存储
	 * 资源池管理提供构建在通用X86服务器集群上分布式文件存储资源，业务系统管理人员使用该接口可以申请分布式文件存储。
	 * @baater   内蒙古云科数据有限公司
	 * @param fileStorageTemplateId
	 * @param fileStorageParamArray
	 * @param fileStorageName
	 * @param appID
	 * @param appName
	 * @return
	 */
	public CreatFileStorageResp CreatFileStorage(String fileStorageTemplateId, FileStorageParamArray fileStorageParamArray, String fileStorageName, String appID, String appName);
	
	
	
	
	/**
	 * 
	 * @baater   内蒙古云科数据有限公司
	 * @param FileStorageID
	 * @return
	 */
	public DeleteFileStorageResp DeleteFileStorage(String FileStorageID);
	
	
	
	/**
	 * 
	 * @baater   内蒙古云科数据有限公司
	 * @param FileStorageIDs
	 * @return
	 */
	public QueryFileStorageResp QueryFileStorage(List<FileStorageID> FileStorageIDs);
	
	
	
	
	/**
	 * 
	 * @baater   内蒙古云科数据有限公司
	 * @param fileStorageID
	 * @param quotaSize
	 * @return
	 */
	public UpdateFileSorageSizeResp UpdateFileSorageSize(String fileStorageID, int quotaSize);
	
	
	
	/**
	 * 设定分布式文件存储访问范围
	 * 该接口用于业务系统管理人员更改已申请到的分布式文件存储时使用。
	 * @baater   内蒙古云科数据有限公司
	 * @param FileStorageID
	 * @param FileRequestAcl
	 * @return
	 */
	public SetFileStorageAccessResp SetFileStorageAccess(String fileStorageID, List<AclIP> fileRequestAcl);
	
}
